// FGEN_NI_5422.h: interface for the CVI_DCPower_Chroma_52914 class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VI_DCPOWER_CHROMA_52914_H__0ED60FB7_AFE2_47B0_9752_7D544BFB6808__INCLUDED_)
#define AFX_VI_DCPOWER_CHROMA_52914_H__0ED60FB7_AFE2_47B0_9752_7D544BFB6808__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SignalMaker.h"

#include <NIDAQmx.h>

#include <string>

class CFGEN_NI_5422  : public ISignalMaker 
{
public:
	CFGEN_NI_5422();
	virtual ~CFGEN_NI_5422();
	virtual double OutputSignal(std::string &ItemName,std::string& SignalType,
		float PromiseValue,std::string &Channel,COMMSG* errMsg);
	virtual void StopOutput();
	// IUnknown member function
	virtual HRESULT __stdcall QueryInterface(const IID& iid, void **ppv);
	virtual ULONG	__stdcall AddRef(); 
	virtual ULONG	__stdcall Release();

private:
	int32 m_MeasMode;
	float64 m_Range;
	char   m_ResourceName[256];
//	char vi[100];
	unsigned long vi;
	TaskHandle  taskHandle;
	int	  m_Ref ;
	char   m_ErrMsg[256];
};

#endif // !defined(AFX_VI_DCPOWER_CHROMA_52914_H__0ED60FB7_AFE2_47B0_9752_7D544BFB6808__INCLUDED_)
